Patterns for Handling Cross-Cutting Concerns in Model-Driven Software Development
نویسنده
چکیده
Aspect Oriented Programming (AOP, see [AOP]) as well as Model-Driven Software Development (MDSD, see [MDSD]) are both becoming more and more important in modern software engineering. Both approaches attack important problems of traditional software development. AOP addresses the modularization (and thus, reuse) of cross-cutting concerns (CCC). MDSD allows developers to express structures and algorithms in a more problem-domain oriented language, and automates many of the tedious aspects of software development. But how do the two approaches relate? And how, if at all, can they be used together? This paper looks at both of these questions. The first one – how AOP and MDSD relate – is briefly discussed in the following paragraphs. How AOP and MDSD can be used together is the subject of the main discussion, where the paper presents six patterns of how MDSD and AOP can be used in conjunction. All but one pattern focus on the code phase aspect of MDSD. 1 I always use the term AOP instead of differentiating between AO in general and AOP as the AO approach to programming. Please see Appendix A for a differentiation between AOP and AOSD
منابع مشابه
An Aspectual Use-Case Driven Approach
Existing approaches to software development do not handle properly the crosscutting nature of some requirements, be functional or non-functional. Aspect-oriented approaches aim at handling effectively separation of crosscutting requirements. We have been investigating how to achieve separation of concerns, not only through functional and non-functional requirements, but also by providing mechan...
متن کاملDesigning Reusable Patterns of Cross-Cutting Behaviour with Composition Patterns
1. INTRODUCTION The current limitations in the decomposition capabilities of object-oriented software force the tangling of cross-cutting behaviour with all other elements that it affects. This has a negative impact across the development lifecycle, from comprehensibility, traceability, evolvability and reusability points of view. This problem has been addressed within the programming phase by ...
متن کاملUsing mutation to design tests for aspect-oriented models
Context: Testing for properties such as robustness or security is complicated because their concerns are often repeated in many locations and muddled with the normal code. Such “cross-cutting concerns” include things like interrupt events, exception handling, and security protocols. Aspect-oriented (AO) modeling allows developers to model the cross-cutting behavior independently of the normal b...
متن کاملWhat are the benefits of Aspect Oriented Programming to project iterations developed using Agile Processes?
Aspect Oriented Programming (AOP) is a software development programming technique that facilitates the modularization of cross cutting concerns, for example logging, security and error handling [4]. Agile Processes, such as eXreme Programming and SCRUM are software development methodologies that promote iterative and incremental design and development to projects [2]. This paper will test the h...
متن کاملOn the Modularity Assessment of Software Architectures: Do my architectural concerns count?
Much of the complexity of software architecture design is derived from the inadequate modularization of key broadly-scoped concerns, such as exception handling and persistence. However, conventional architecture metrics are not sensitive to the driving architectural concerns, thereby leading a number of false positives and false negatives in the design assessment process. Hence, there is a need...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005